# Encontra os arquivos sqlite3.h e [lib]sqlite3.[a/so/dll/lib/dylib]


# find_path() tenta encontrar o arquivo sqlite3 nos diretorios padroes
# (/usr/include, /usr/local/include) e nos diretorios listados na variavel
# CMAKE_INCLUDE_PATH.
# O caminho do arquivo encontrado e armazenado na variavel SQLite3_INCLUDE_DIR
# Essa variavel pode ser sobrescrita na invocacao do cmake:
#  cmake -DSQLite3_INCLUDE_DIR=c:\devlibs\sqlite3\include pasta_projeto

find_path (SQLite3_INCLUDE_DIR sqlite3.h)

# find_library() tem a mesma funcao de find_path() mas para bibliotecas
# A pesquisa e feita nos diretorios padroes (/usr/lib, /usr/local/lib) e nos
# diretorios informados na variavel CMAKE_LIBRARY_PATH.
# A variavel SQLite3_LIBRARY ira conter o caminho da biblioteca podendo ser
# sobrescrita na invocacao do cmake (Ex.: cmake -DSQLite3_LIBS=c:\sqlite3\lib\sqlite3.lib ...)

find_library (SQLite3_LIBS NAMES sqlite3)

# biblioteca de debug (permite selecionar entre a versao de release e debug de uma biblioteca)
find_library (SQLite3_DBG_LIBS NAMES sqlite3d)
if (SQLite3_DBG_LIBS AND SQLite3_LIBS)
	set (SQLite3_LIBS optimized ${SQLite3_LIBS} debug ${SQLite3_DBG_LIBS})
endif ()

# variaveis esperadas apos a avaliacao deste modulo pelo cmake:
#	XXX_INCLUDE_DIRS - diretorios de inclusao do pacote
#	XXX_LIBRARIES    - bibliotecas do pacote
#	XXX_FOUND        - varivel que indica se o pacote foi encontrado (dependencia condicional)

set (SQLITE3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR})
set (SQLITE3_LIBRARIES ${SQLite3_LIBS})

# mecanismo padrao de localizacao de pacotes
include (FindPackageHandleStandardArgs)

find_package_handle_standard_args (
	SQLite3
	DEFAULT_MSG
	SQLite3_LIBS
	SQLite3_INCLUDE_DIR
	)

# "esconde" as variaveis intermediarias quando
# se usa as interfaces de usuario do cmake (ccmake e cmake-gui)
mark_as_advanced (SQLite3_LIBS SQLite3_INCLUDE_DIR)
